package fi.foyt.cs;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import fi.foyt.cs.persistence.dao.GenericDAO;

public class EntityManagerFilter implements Filter {

  @Override
  public void init(FilterConfig arg0) throws ServletException {
    
  }
  
  @Override
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    GenericDAO.createEntityManager();
    try {
      chain.doFilter(request, response);
    } finally {
      GenericDAO.releaseEntityManager();
    }
  }

  @Override
  public void destroy() {
  }
  
}
